package pattern14.games;

/**
 * 打游戏的备份模拟
 * @author wdl
 */
public class PlayGames {
    public static void main(String[] args) {
        //创建一个角色并初始化生命值、攻击力、防御力
        Role role=new Role();
        role.setVik(100);
        role.setAtk(100);
        role.setDef(100);

        role.show();

        System.out.println("大战boss前进行备份");
        //状态数据管理
        RoleStateCaretaker roleStateCaretaker=new RoleStateCaretaker();
        //创建备份数据
        roleStateCaretaker.setRoleStateMemento(role.saveStateToMemento());

        System.out.println("大战boss后");
        //大战boss消耗
        role.setDef(50);
        role.setAtk(50);
        role.setVik(0);

        role.show();

        System.out.println("挑战boss失败，恢复备份");
        role.getStateFromMemento(roleStateCaretaker.getRoleStateMemento());
        role.show();
    }
}
